#ifndef _TRANSFORM_COMPONENT_H_
#define _TRANSFORM_COMPONENT_H_

#include "component.h"
#include "umath/umath.h"

template <typename TransformType>
class TransformComponent : public Component
{
public:
    TransformComponent(const string &name = TEXT("Transform"));
    virtual ~TransformComponent();

    virtual void update(uint64 tick);

protected:
    TransformType m_transform;
}

using Transform2DComponent = TransformComponent<UTransform2>;
using Transform3DComponent = TransformComponent<UTransform3>;

#endif